﻿using AutoMapper;
using FlyingEye.ControllerServices;
using FlyingEye.Monitors.Models;

namespace FlyingEye
{
    public class ApplicationProfile : Profile
    {
        public ApplicationProfile()
        {
            CreateMap<DeviceClientModel, DeviceClientResponse>();
            CreateMap<CreateDeviceClientRequest, DeviceClientModel>();
            CreateMap<UpdateDeviceClientRequest, DeviceClientModel>();

            CreateMap<ReadNumericValueTaskModel, ReadNumericValueTaskResponse>();
            CreateMap<CreateReadNumericValueTaskRequest, ReadNumericValueTaskModel>();
            CreateMap<UpdateReadNumericValueTaskRequest, ReadNumericValueTaskModel>();

            CreateMap<ReadStringValueTaskModel, ReadStringValueTaskResponse>();
            CreateMap<CreateReadStringValueTaskRequest, ReadStringValueTaskModel>();
            CreateMap<UpdateReadStringValueTaskRequest, ReadStringValueTaskModel>();

            CreateMap<NumericValueMonitorClientModel, NumericValueMonitorClientResponse>();
            CreateMap<CreateNumericValueMonitorClientRequest, NumericValueMonitorClientModel>();
            CreateMap<UpdateNumericValueMonitorClientRequest, NumericValueMonitorClientModel>();

            CreateMap<NumericValueMonitorGroupModel, NumericValueMonitorGroupResponse>();
            CreateMap<CreateNumericValueMonitorGroupRequest, NumericValueMonitorGroupModel>();
            CreateMap<UpdateNumericValueMonitorGroupRequest, NumericValueMonitorGroupModel>();

            CreateMap<StringValueMonitorClientModel, StringValueMonitorClientResponse>();
            CreateMap<CreateStringValueMonitorClientRequest, StringValueMonitorClientModel>();
            CreateMap<UpdateStringValueMonitorClientRequest, StringValueMonitorClientModel>();

            CreateMap<StringValueMonitorGroupModel, StringValueMonitorGroupResponse>();
            CreateMap<CreateStringValueMonitorGroupRequest, StringValueMonitorGroupModel>();
            CreateMap<UpdateStringValueMonitorGroupRequest, StringValueMonitorGroupModel>();
        }
    }
}
